package arithmetic.duotai;

import org.junit.jupiter.api.Test;

public class App {

    public static void main(String args[]) {
        Father f = new SonA();
        // 此处调用 已重写的 子方法
        f.method(); // 调用的是a里面的方法。
        f = new SonB();
        f.method();
        f.methodFather();
        f = (Father) f;
        // 此处底层还是调用的是 sonB;转换了对象也没用。
        f.method();
		/* // 报错，不能这样转换
        f=(SonA)f;
		f.method();
		*/
        Father f2 = new Father();
        // 此处用的全是父类，和子类无关了已经
        f2.method();
    }

    @Test
    public void testSizeof() {
        boolean a;
        byte b;
        char c;
        short d;
        int e;
        float f;
        long g;
        double h;
        System.out.println(Byte.SIZE / 8);
        System.out.println(Short.SIZE / 8);
        System.out.println(Character.SIZE / 8);
        System.out.println(Integer.SIZE / 8);
        System.out.println(Float.SIZE / 8);
        System.out.println(Long.SIZE / 8);
        System.out.println(Double.SIZE / 8);
    }
}
